home *** CD-ROM | disk | FTP | other *** search
- ************/
-
- vs.1.1
-
- #define BONE_INDEX_PACKED v2
- #define BONE_INDEX r3
- #define VERTEX_POSITION v0
- #define BONE_WEIGHT v1
- #define CV_ZERO c[CV_CONSTANT].xxxx
- #define CV_ONE c[CV_CONSTANT].yyyy
- #define CV_256 c[CV_CONSTANT].wwww
-
- #include "x≥ ■ LINE"
-
- ; transform position
- mul BONE_INDEX, BONE_INDEX_PACKED, CV_256
-
- mov a0.x, BONE_INDEX.x
-
- dp4 r0.x, VERTEX_POSITION, c[a0.x + 0]
- dp4 r0.y, VERTEX_POSITION, c[a0.x + 1]
- dp4 r0.z, VERTEX_POSITION, c[a0.x + 2]
- dp4 r0.w, VERTEX_POSITION, c[a0.x + 3]
-
- mul r0, r0, BONE_WEIGHT.x
-
- mov a0.x, BONE_INDEX.y
-
- dp4 r1.x, VERTEX_POSITION, c[a0.x + 0]
- dp4 r1.y, VERTEX_POSITION, c[a0.x + 1]
- dp4 r1.z, VERTEX_POSITION, c[a0.x + 2]
- dp4 r1.w, VERTEX_POSITION, c[a0.x + 3]
-
- mad r0, r1, BONE_WEIGHT.y, r0
-
- mov a0.x, BONE_INDEX.z
-
- dp4 r1.x, VERTEX_POSITION, c[a0.x + 0]
- dp4 r1.y, VERTEX_POSITION, c[a0.x + 1]
- dp4 r1.z, VERTEX_POSITION, c[a0.x + 2]
- dp4 r1.w, VERTEX_POSITION, c[a0.x + 3]
-
- mad r0, r1, BONE_WEIGHT.z, r0
-
- ; transform position
- dp4 oPos.x, r0, c[CV_WORLDVIEWPROJ_0]
- dp4 oPos.y, r0, c[CV_WORLDVIEWPROJ_1]
- dp4 oPos.z, r0, c[CV_WORLDVIEWPROJ_2]
- dp4 oPos.w, r0, c[CV_WORLDVIEWPROJ_3]
-
- ; Copy vertex colour
- mov oD0, v3
-
- ; Copy texture co-ords across
- mov oT0, v4